#ifndef GAMETOOLBOX_WINDOW_WINDOWINTERFACE_H
#define GAMETOOLBOX_WINDOW_WINDOWINTERFACE_H

class WindowInterface
{
public:
	typedef enum
	{
		WindowColourDepthEnumeration_8 = 8,
		WindowColourDepthEnumeration_16 = 16,
		WindowColourDepthEnumeration_24 = 24,
		WindowColourDepthEnumeration_32 = 32
	} WindowColourDepthEnumeration;
public:
	 /*	title			- Title To Appear At The Top Of The Window				*
	  *	width			- Width Of The GL Window Or Fullscreen Mode				*
	  *	height			- Height Of The GL Window Or Fullscreen Mode			*
	  *	colourDepth		- Number Of Bits To Use For Color (8/16/24/32)			*
	  *	fullscreenflag	- Use Fullscreen Mode (TRUE) Or Windowed Mode (FALSE)	*/
	virtual const bool initialise( const int windowWidth,  const int windowHeight, const WindowColourDepthEnumeration colourDepth, bool fullscreen ) = 0;
	virtual void shutdown( void ) = 0; 

	virtual void redraw( void ) const = 0;

	virtual const bool isFullscreen( void ) const = 0;
	virtual void setFullscreen( const bool value ) = 0;
};

#endif //GAMETOOLBOX_WINDOW_WINDOWINTERFACE_H
